package com.miplus.ccrm.core.controller.vo.credit;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class CrdCaseInfoVo {
    /**
     * 案件编号
     */
    private Integer creditcaseid;

    /**
     * 案件状态
     */
    private Integer status;

    /**
     * 案件状态描述
     */
    private String statusdsc;

    /**
     * 案件队列
     */
    private String ccc;

    /**
     * 案件队列描述
     */
    private String cccdsc;

    /**
     * 客户ID
     */
    private String customernumber;

    /**
     * 客户姓名
     */
    private String custname;

    /**
     * 客户类型
     */
    private String custtypedsc;

    /**
     * 风险等级
     */
    private String risklevel;

    /**
     * 证件类型
     */
    private String openacctcerttype;

    /**
     * 证件号
     */
    private String openacctcertno;

    /**
     * 证件属地
     */
    private String idNoAddress;

    /**
     * 居住区域
     */
    private String cityAddress;
    /**
     * 性别 1.男 2.女
     */
    private String gender;

    /**
     * 生日
     */
    private String birthday;

    /**
     * 婚姻状态
     */
    private String marrgstatus;

    /**
     * 学历
     */
    private String heightedudegr;

    /**
     * 单位名
     */
    private String corpname;

    /**
     * 职位
     */
    private String pstn;

    /**
     * 部门
     */
    private String department;

    /**
     * 固定额度
     */
    private String crdtLimit;

    /**
     * 临时额度
     */
    private String tempLimit;

    /**
     * 个人年收入
     */
    private String annualincome;

    /**
     * 个人月薪
     */
    private String salary;


    /**
     * 开户行
     */
    private String custacctorgno;

    /**
     * 凸字姓名
     */
    private String custenname;

    /**
     * 电子邮箱
     */
    private String custemail;

    /**
     * 账单日
     */
    private String billDate;

    /**
     * 还款日
     */
    private String repayDate;

    /**
     * 账户状态
     */
    private String acctStatus;

    /**
     * 账户或合同编号
     */
    private String creditAcct;

    /**
     * 产品类型（账户类型）
     */
    private String prodtype;

    /**
     * 产品类型描述（1银数/2通联）
     */
    private String prodtypedsc;

    /**
     * 逾期期数
     */
    private String mthsOdue;

    /**
     * 逾期天数
     */
    private String mthsDay;

    /**
     * 逾期金额
     */
    private String odudPrin;

    /**
     * 催收单位
     */
    private String sendtodept;

    /**
     * 催收单位描述
     */
    private String sendtodeptdsc;

    /**
     * 催收专员
     */
    private String sendtousr;

    /**
     * 还款历史
     */
    private String hRepayRecord24m;

    /**
     * 当前账户余额
     */
    private String acctDebtAmt;

    /**
     * 总欠款
     */
    private String acctDebtAll;

    /**
     * 已出账单欠款
     */
    private String settledBillAmt;

    /**
     * 已出账单本金
     */
    private String settledBillPrin;

    /**
     * 最低还款金额
     */
    private String lowestRepayBal;

    /**
     * 是否绑定自动还款
     */
    private String isBindAutoRepay;

    /**
     * 自扣卡号
     */
    private String debitCardNum;

    /**
     * 借记卡号
     */
    private String debitcardno;

    /**
     * 行员标识(0=否，1=是行员)
     */
    private String isbankemply;

    /**
     * 是否分期(0=否，1=是分期)
     */
    private String isAmortCust;

    /**
     * 是否有附卡(0=没有副卡，>=1有副卡)
     */
    private String isholdCard;

    /**
     * 入催时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date indt;

    /**
     * 分案时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date distdt;

    /**
     *  数据批次
     */
    private String batchid;

    /**
     *  分案批次
     */
    private String distbatchid;
    /**
     * 停催标识
     */
    private Integer isstopcase;

    /**
     * 协商分期数
     */
    private Integer fiamortcount;

    /**
     * 预约时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date appointdt;

    /**
     * 案件绑定结束时间（自动回收时间）
     */
    @JsonFormat(pattern ="yyyy-MM-dd",timezone = "GMT+8")
    private Date bindenddt;

    /**
     * 禁止自动分案结束时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date stopautodistenddt;

    /**
     * 客户标签List
     */
    private List<SysTagsColor> custtags;

    /**
     * 账户余额最新刷新时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date accBalLastUpTime;

    /**
     * 币种
     */
    private String currency;

    /**
     * A原始分类(五级分案)
     */
    private String acctFlevel;

    // 补充

    /**
     * 案件周期编号
     */
    private String serialNumber;


    /**
     * 产品编号
     */
    private String productId;
    /**
     * 产品来源系统
     */
    private Integer productSource;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 商户名称
     */
    private String merchantname;

    /**
     * 商户编号
     */
    private String merchantId;
    // 案件归类 预留字段

    /**
     * 逾期阶段
     */
    private String overdueStage;

    /**
     * 实时逾期总金额
     */
    private BigDecimal overdueTotalamt;


    /**
     * 案件总借据数
     */
    private Integer loanInvoiceCount;

    /**
     * 案件逾期借据数
     */
    private Integer overdueCount;


    /**
     * 逾期未还本金
     */
    private BigDecimal preRepayPrincipal;

    /**
     * 逾期未还利息
     */
    private BigDecimal preRepayInterest;

    /**
     * 逾期未还罚息
     */
    private BigDecimal preOverdueFee;

    /**
     * 逾期未还费用
     */
    private BigDecimal preRepayFee;
    /**
     * 结清应还金额(欠款总额)
     */
    private BigDecimal totalRepaidAmount;

    /**
     * 提醒下期应还金额
     */
    private BigDecimal remindRepayPrincipal;
    /**
     * 委案总金额
     */
    private BigDecimal cpTotalamt;

    /**
     * 委案本金
     */
    private BigDecimal cpAmt;

    /**
     * 委案利息
     */
    private BigDecimal cpInterest;

    /**
     * 委案费用
     */
    private BigDecimal cpCost;

    /**
     * 委案逾期天数
     */
    private Integer cpOverdueDays;

    /**
     * 委案开始日期
     */
    private Date cpStartTime;

    /**
     * 委案结束日期
     */
    private Date cpEndTime;

    /**
     * 委案结案时间
     */
    private Date cpOverTime;

    /**
     * 距离下一还款日天数
     */
    private Integer remindRepayDays;
    // 上次联系时间
    // 末次跟催日期
    /**
     * 最近还款时间
     */
    private Date recentlyRepTime;

    /**
     * 授信额度
     */
    private BigDecimal creditAmount;

    /**
     * 已用额度
     */
    private BigDecimal usedAmount;
    /**
     * 应催已还金额
     */
    private BigDecimal repaidAmount;

    /**
     * 应催未还金额
     */
    private BigDecimal waitAmount;


    /**
     * 回收时间
     */
    private Date recycledt;
    // 数据批次

    /**
     * 案件标签
     */
    private List<SysTagsColor> custTag;//包含色值

    /**
     * 可用联机接口
     */
    private List<String>apiIdList;

    /**
     * 结案时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date closedt;

    /**
     * 末期跟催时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date lasttaskdt;

    /**
     * 末期联系时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date lastccdt;

    /**
     * 还款日
     */
    private Integer repayDays;

    // 20250220版本新增 ↓

    /**
     * 分案队列标志
     */
    private String disttag;
    /**
     * 客户逾期阶段
     */
    private String prodmthsStage;

    /**
     * 客户逾期天数
     */
    private Integer overdueDays;
    /**
     * 入催天数
     */
    private Integer daysIntoCollection;

    /**
     * 客户未还总额
     */
    private BigDecimal cuTotalRepaidAmount;

    /**
     * 客户剩余本金
     */
    private BigDecimal cuRemainingPrincipal;

    /**
     * 客户未还利息
     */
    private BigDecimal cuOutstandingInterest;

    /**
     * 未到期应还利息
     */
    private BigDecimal unpayableinterest;

    /**
     * 未到期应还金额
     */
    private BigDecimal amountnotdue;

    /**
     * 客户逾期总金额
     */
    private BigDecimal cuPrododudtotalPrin;

    /**
     * 客户委案总金额
     */
    private BigDecimal cuCpTotalamt;

    /**
     * 客户下期应还金额
     */
    private BigDecimal cuRemindRepayPrincipal;

    /**
     * 状态更新时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date statusdt;

    /**
     * 逾期产品数
     */
    private Integer overdueProductsC;

    /**
     * 未到期应还本金
     */
    private BigDecimal unpaidprincipal;



    /**
     * 民族
     */
    private String idNation;

    /**
     * 省份
     */
    private String province;

    /**
     * 省编码
     */
    private String provinceCode;

    /**
     * 城市
     */
    private String city;

    /**
     * 市编码
     */
    private String cityCode;

    /**
     * 区县
     */
    private String district;

    /**
     * 黑白名单 1: 黑名单 2: 白名单
     */
    private Integer blacklistType;


    /**
     * 委案剩余本金[等于委案时（逾期本金+未到期应还本金）]
     */
    private BigDecimal cpRemainingPrincipal;

    /**
     * 回收后逾期天数
     */
    private Integer afterRecoveryOverdueDays;

    /**
     * 回收后逾期金额
     */
    private BigDecimal afterRecoveryOverdueAmount;

    /**
     * 回收后逾期本金
     */
    private BigDecimal afterRecoveryOverduePrincipal;

    /**
     * 回收后剩余本金
     */
    private BigDecimal afterRecoveryRemainingPrincipal;

    /**
     * 出催时剩余本金
     */
    private BigDecimal outRemainingPrincipal;



    /**
     * 下次跟催时间
     */
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date nextContactTime;

    /**
     * 回收时应催金额
     */
    private BigDecimal recycleWaitAmount;

    /**
     * 催员ID
     */
    private String sendtousrid;
    /**
     * 协催ID
     */
    private String assistantid;

    /**
     * 协催员工
     */
    private String assistantname;

    /**
     * 协催状态
     */
    private Integer assiststatus;

    /**
     * 协催开始时间.
     */
    private Date assiststartdt;

}
